package com.klasster.recruitmentPlatform.common.response;

import lombok.AllArgsConstructor;
import lombok.Getter;

@AllArgsConstructor
@Getter
public enum ResultCode {

    /**
     * "10**"  代表用户登录注册相关
     */
    AUTH_UN_LOGIN(1000,"当前未登录，请先登录"),
    AUTH_TOKEN_INVALID(1001,"token失效，请重新登录"),
    AUTH_USERNAME_EXIST(1002,"该用户名已存在"),
    AUTH_REGISTER_FAIL(1003,"注册失败，请重试"),
    AUTH_REGISTER_SUCCESS(1004,"注册成功，请登录"),
    AUTH_USERNAME_NOT_EXIST(1005,"该用户名不存在"),
    AUTH_LOGIN_FAIL(1006,"登陆失败，密码错误"),
    AUTH_LOGIN_SUCCESS(1007,"登陆成功"),

    /**
     * "11**"  代表用户通用操作相关
     */
    USER_INVALID(1100,"用户不存在"),
    USER_GET_USERINFO(1101,"用户信息获取成功"),
    USER_GET_PERMISSIONS(1102,"用户权限获取成功"),
    USER_UPDATE_SUCCESS(1103,"用户信息修改成功"),
    USER_UPDATE_FAIL(1104,"用户信息修改失败"),
    USER_UPDATE_PASSWORD_FAIL(1105,"密码更新失败：原密码错误"),


    /**
     * "12**"  代表求职者操作相关
     */
    SEEKER_GET_RESUME(1200,"简历查询成功"),
    SEEKER_GET_SUCCESS(1201,"信息获取成功"),
    SEEKER_SAVE_SUCCESS(1202,"信息保存成功"),
    SEEKER_DELETE_SUCCESS(1203,"信息删除成功"),
    SEEKER_COLLECTION_SUCCESS(1204,"收藏操作成功"),
    SEEKER_COLLECTION_FAIL(1205,"收藏操作失败"),
    SEEKER_FOLLOWING_SUCCESS(1206,"关注操作成功"),
    SEEKER_FOLLOWING_FAIL(1207,"关注操作失败"),
    SEEKER_SUBMIT_RESUME_SUCCESS(1208,"简历投递成功"),
    SEEKER_GET_SUBMISSIONS_SUCCESS(1209,"简历投递列表获取成功"),

    /**
     * "13**"  代表招聘方操作相关
     */
    RECRUITER_GET_SUCCESS(1300,"信息获取成功"),
    RECRUITER_SAVE_SUCCESS(1301,"信息保存成功"),
    RECRUITER_DELETE_SUCCESS(1302,"信息删除成功"),

    /**
     * "14**"  代表招聘方操作相关
     */
    COMPANY_EXIST(1400,"公司名称已存在"),
    COMPANY_GET_SUCCESS(1401,"公司信息获取成功"),
    COMPANY_SAVE_SUCCESS(1402,"公司信息获取成功"),
    COMPANY_DELETE_SUCCESS(1403,"公司信息删除成功"),
    COMPANY_GET_JOIN_APPLICATION_SUCCESS(1404,"公司申请加入信息获取成功"),
    COMPANY_APPLY_JOIN_APPLICATION_SUCCESS(1405,"公司申请加入信息保存成功"),
    COMPANY_UPDATE_JOIN_APPLICATION_SUCCESS(1406,"公司申请加入信息更新成功"),
    COMPANY_CANCEL_JOIN_APPLICATION_SUCCESS(1407,"撤销公司加入申请成功"),
    COMPANY_GET_STUFF_SUCCESS(1408,"获取公司人员列表成功"),
    COMPANY_MODIFY_STUFF_SUCCESS(1409,"修改公司人员成功"),


    /**
     * "15**"  代表管理员操作相关
     */
    ADMIN_GET_SUCCESS(1500,"信息获取成功"),
    ADMIN_SAVE_SUCCESS(1501,"信息保存成功"),
    ADMIN_DELETE_SUCCESS(1502,"信息删除成功");

    private final Integer code;
    private final String msg;
}
